package com.complex.classic;

/*
 * 取模运算,也运用于奇偶判断, 转8,16进制等
 * 可见thinking in java no3
 */
public class MOD {
	public static void main(String[] args) {
		char hexDigits[] = { // 用来将字节转换成 16 进制表示的字符
		'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd',
				'e', 'f' };

		// 取模运算 其实就是 n & (N-1)
		byte a = 11 & 15;// 取16的模(与上面的数组结合,即可转16进制)
		a = 11 & 7;// 取8的模
		a = 11 & 9;// 取10的模

		a = 11 & 1;// 取2的模(即可判断奇偶数)

		// 转16进制时,只要 7 0xf即可 0x开关的为16进制数
		// 其中的0xf 写成15也可以(只是一种表示形式)
		char char16 = hexDigits[16 & 0xf];
		System.out.println(char16);

		// 8进制数以0开头
		char char8 = hexDigits[16 & 07];
		System.out.println(char8);

	}
}
